Skip to content

Fixed binary-file crash, unified intent semantics, and flagged empty changes - #3

Merged
kridaydave merged 6 commits into
mainfrom
fix/docket-hardening
Aug 22, 2026
Merged

Fixed binary-file crash, unified intent semantics, and flagged empty changes#3
kridaydave merged 6 commits into
mainfrom
fix/docket-hardening

Conversation

@kridaydave

@kridaydave kridaydave commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

PR made by ox-alpha from opencode on behalf of Kriday.
Field-testing the CLI surfaced three rough edges: one binary file anywhere in a snapshot killed the whole run with a cryptic UTF-8 error, the docket called intent "scope" (and the adapters ignored user intent entirely), and an empty change sailed through as a clean ADJUDICATED. Review pushed the fix further: snapshots now store raw bytes, so distinct binaries can never compare equal.

Summary :

  • Snapshot contents are raw bytes (HashMap<String, Vec>); text conversion happens only at tree-sitter parse time. Binary files are tracked exactly instead of crashing or collapsing
  • Renamed scope to intent across the struct, renderer, and JSON/TOML; old dockets still load via a serde alias. User intent now wins over touched-paths at every call site
  • Added a low-severity D000 notice when base and head have no file differences; verdict is evaluated before the notice is appended, so custom policies (block_on = ["low"]) cannot block empty changes
  • Collapsed the adjudication tail (touched paths + empty notice + verdict + intent fallback) into one shared finalize_adjudication used by dir-mode, git, and jj
  • Regression tests for every fixed behavior, including two binaries differing by one invalid byte

Ready For Review !!

@kridaydave
kridaydave merged commit cf3a0b7 into main Aug 22, 2026
5 checks passed
@kridaydave
kridaydave deleted the fix/docket-hardening branch August 22, 2026 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant